package cn.itcast;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.cloud.client.SpringCloudApplication;
import org.springframework.cloud.client.circuitbreaker.EnableCircuitBreaker;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.client.loadbalancer.LoadBalanced;
import org.springframework.cloud.netflix.hystrix.EnableHystrix;
import org.springframework.cloud.openfeign.EnableFeignClients;
import org.springframework.context.annotation.Bean;
import org.springframework.web.client.RestTemplate;

@SpringBootApplication
@EnableDiscoveryClient
@EnableHystrix // 开启熔断
//@EnableCircuitBreaker // 开启熔断
@EnableFeignClients // 开启Feign功能
//@SpringCloudApplication // 对最上面的三个注解的总和
public class ConsumerApplication {

    public static void main(String[] args) {

        SpringApplication.run(ConsumerApplication.class);

    }

    // 注册RestTemplate的对象到Spring的容器中
    @Bean
    @LoadBalanced // 开启负载均衡策略
    public RestTemplate restTemplate(){

        return  new RestTemplate();

    }

}
